//
//  BattleProtocol.h
//  PacIsBack
//
//  Created by Simon André on 28/01/10.
//  Copyright 2010 __MyCompanyName__. All rights reserved.
//

@class BattleViewController;
@protocol BattleTeamProtocol;
@protocol CharacterProtocol;
@protocol AbilityProtocol;


@protocol BattleProtocol <NSObject>

-(BattleViewController*) controller;
-(id<BattleTeamProtocol>) playerTeam;
-(id<BattleTeamProtocol>) ennemyTeam;
-(id<CharacterProtocol>) selectedCharacter;
-(NSString*) musicType;
-(NSString*) background;
-(void) setController:(BattleViewController*) controller;
-(BOOL) isSelected:(id<CharacterProtocol>) character;
-(void) executeCurrentActionNextPhase;
-(void) processCurrentActionFrom:(id<CharacterProtocol>) origin on:(id<CharacterProtocol>) target;
-(void) trySelecting:(id<CharacterProtocol>) character;
-(NSInteger) inflictDamageFrom:(id<CharacterProtocol>) origin toTarget:(id<CharacterProtocol>) target;
-(void) processEndOfFight;
-(void) goToNextEventAfterFightEnd;
-(void) battleLoop;
-(void) showInfo:(NSString*) info;
-(void) setSelectedAbility:(id<AbilityProtocol>) selectedAbility;
-(id<AbilityProtocol>) selectedAbility;

@end
